package org.quasar.copaPaises.bussinessLayer;

import static org.junit.Assert.*;

import java.util.Set;

import org.junit.Test;
import org.quasar.copaPaises.businessLayer.Clube;
import org.quasar.copaPaises.businessLayer.Jogador;
import org.quasar.copaPaises.businessLayer.Pais;

public class ClubeTest {

	@Test
	public void testClube() {
		Clube c = new Clube();
		Clube.allInstances.contains(c);
	}

	@Test
	public void testClubeStringPais() {
		Clube c = new Clube("Nome",new Pais());
		assertNotNull("Deve conter Nome.",c.nome());
		assertNotNull("Deve conter pais.",c.pais());
		Clube.allInstances.contains(c);
	}

	@Test
	public void testNome() {
		Clube c = new Clube("Nome",new Pais());
		assertNotNull("Deve conter Nome.",c.nome());
	}

	@Test
	public void testSetNome() {
		Clube c = new Clube();
		c.setNome("Nome");
		assertNotNull("Deve conter Nome.",c.nome());
	}

	@Test
	public void testPais() {
		Clube c = new Clube("Nome",new Pais());
		assertNotNull("Deve conter Pais.",c.pais());
	}

	@Test
	public void testSetPais() {
		Clube c = new Clube();
		c.setPais(new Pais());
		assertNotNull("Deve conter Pais.",c.pais());
	}

	@Test
	public void testJogadores() {
		Clube c = new Clube();
		Jogador j = new Jogador();
		Set<Jogador> set_jogadores = c.jogadores();
		set_jogadores.add(j);
		c.setJogadores(set_jogadores);
		assertFalse("Clube deve ter jogadores.", c.jogadores().isEmpty());
	}

	@Test
	public void testSetJogadores() {
		Clube c = new Clube();
		Jogador j = new Jogador();
		Set<Jogador> set_jogadores = c.jogadores();
		set_jogadores.add(j);
		c.setJogadores(set_jogadores);
		assertFalse("Clube deve ter jogadores.", c.jogadores().isEmpty());
		
	}

//	@Test
//	public void testInicializa() {
//		fail("Not yet implemented");
//	}

	@Test
	public void testSeleccionados() {
		Clube c = new Clube();
		Set<Jogador> set_jogadores = c.jogadores();
		Pais p = new Pais();
		Jogador j = new Jogador();
		set_jogadores.add(j);
		c.setJogadores(set_jogadores);
		j.setNacionalidade(p);
		
		assertFalse("Deve conter selecionados.",c.seleccionados(p).isEmpty());
		
		
	}

	@Test
	public void testToString() {
		Clube c = new Clube("Nome", new Pais());
		assertNotNull("String deve conter texto.", c.toString());
	}

}
